home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-02-02 | 2.4 KB | 52 lines |
- 10 ' PAKUSER Vers.1.0 02-02-85
- 20 CLS:KEY OFF:PRINT"Out of the depths of despair, comes......"
- 30 FOR I%=1 TO 2000:NEXT I%:BEEP
- 40 ON ERROR GOTO 500
- 50 CLS:LOCATE 1,34:PRINT"PAKUSER V1.0":MS%=0:MD%=0
- 60 LOCATE 3,5:INPUT"USERS file is on drive: ";UDRV$:UDRV$=LEFT$(UDRV$,1)
- 70 LOCATE 3,5:INPUT"MESSAGES file is on drive: ";MDRV$:MDRV$=LEFT$(MDRV$,1)
- 80 LOCATE 3,5:INPUT"Do you wish to purge by security level Y/N ";A$
- 90 A$=LEFT$(A$,1):IF (A$="N") OR (A$="n") THEN 110 ELSE SP%=1
- 100 LOCATE 3,5:PRINT SPACE$(50):LOCATE 3,5:INPUT"Purge security levels less than: ";MS%
- 110 LOCATE 3,5:INPUT"Do you wish to purge by time since last call Y/N ";A$
- 120 A$=LEFT$(A$,1):IF (A$="N") OR (A$="n") THEN 140 ELSE TP%=1
- 130 LOCATE 3,5:PRINT SPACE$(55):LOCATE 3,5:INPUT"Purge with months since last call more than: ";MD%
- 140 LOCATE 3,5:PRINT SPACE$(55):LOCATE 3,5:INPUT"Do you wish to be prompted for each purge Y/N ";A$
- 150 A$=LEFT$(A$,1):IF (A$="N") OR (A$="n") THEN PR%=0 ELSE PR%=1
- 160 LOCATE 3,5:PRINT SPACE$(55):TD%=VAL(LEFT$(DATE$,2))
- 170 OPEN "R",1,UDRV$+":USERS",128
- 180 FIELD 1,31 AS UN$,15 AS UPW$,2 AS US$,14 AS UOP$,24 AS UC$,19 AS UM$,14 AS UD$,3 AS ULD$,2 AS UUL$,2 AS UDL$,2 AS UT$
- 190 OPEN "R",2,UDRV$+":USERS.NEW",128
- 200 FIELD 2,31 AS NN$,15 AS NPW$,2 AS NS$,14 AS NOP$,24 AS NC$,19 AS NM$,14 AS ND$,3 AS NLD$,2 AS NUL$,2 AS NDL$,2 AS NT$
- 210 OPEN "R",3,MDRV$+":MESSAGES",128
- 220 FIELD 3,128 AS RR$:NR%=1:GET 3,1
- 230 LREC%=(VAL(MID$(RR$,57,5)))-1:EF%=VAL(MID$(RR$,62,5))
- 240 FOR I%=1 TO LREC%:GET 1,I%
- 250 IF (ASC(UN$)=0) OR (LEFT$(UN$,2)=" ") THEN 440
- 260 SL%=CVI(US$):LD%=VAL(LEFT$(UD$,2))
- 270 ET%=TD%-LD%:IF ET%<0 THEN ET%=ET%+12
- 280 IF (SP%=1) AND (SL%<MS%) THEN 440
- 290 IF (TP%=1) AND (ET%>MD%) THEN 440
- 300 LOCATE 3,5:PRINT"Copying: "+UN$
- 310 LSET NN$=UN$:LSET NPW$=UPW$:LSET NS$=US$:LSET NOP$=UOP$:LSET NC$=UC$
- 320 LSET NM$=UM$:LSET ND$=UD$:LSET NLD$=ULD$:LSET NUL$=UUL$:LSET NDL$=UDL$
- 330 LSET NT$=UT$
- 340 PUT 2,NR%:NR%=NR%+1
- 350 NEXT I%:NLREC%=NR%-1:LOCATE 22,5:PRINT SPACE$(65):FOR I%=NLREC% TO EF%
- 360 LSET NN$=SPACE$(31):LSET NPW$=SPACE$(15):LSET NS$=SPACE$(2)
- 370 LSET NOP$=SPACE$(14):LSET NC$=SPACE$(24):LSET NM$=SPACE$(19)
- 380 LSET ND$=SPACE$(14):LSET NLD$=SPACE$(3):LSET NUL$=SPACE$(2)
- 390 LSET NDL$=SPACE$(2):LSET NT$=SPACE$(2)
- 400 PUT 2,I%:LOCATE 22,5:PRINT"Record ";I%;" preformatted"
- 410 NEXT I%:CLOSE 1,2:MID$(RR$,57,5)=SPACE$(5):MID$(RR$,57,5)=STR$(NR%)
- 420 PUT 3,1:CLOSE:NAME UDRV$+":USERS" AS UDRV$+":USERS.ORG"
- 430 NAME UDRV$+":USERS.NEW" AS UDRV$+":USERS":CLS:END
- 440 IF PR%<>1 THEN GOSUB 490:GOTO 350
- 450 LOCATE 7,5:PRINT"Should I purge "+UN$+" ";SL%;" Y/N ";
- 460 INPUT A$:A$=LEFT$(A$,1):LOCATE 7,5:PRINT SPACE$(65)
- 470 IF A$="N" OR A$="n" THEN 300 ELSE GOSUB 490:GOTO 350
- 480 BEEP:CLOSE:STOP
- 490 LOCATE 22,5:PURG%=PURG%+1:PRINT"Records purged: ";PURG%:RETURN
- 500 IF ERR=58 AND ERL=420 THEN KILL UDRV$+":USERS.ORG":RESUME
- 510 BEEP:CLOSE:PRINT"Error ";ERR;" has occurred in line ";ERL:END
-